#ifndef __SVS_STATION_H__
#define __SVS_STATION_H__

#include <DEV_Station.h>

//桩参数
#define STANO_LENGTH    7
//枪参数
#define GUNCODE_LENGTH    8
//卡参数
#define PHY_CARDID_LENGTH    8
#define LOGIC_CARDID_LENGTH    8
//VIN码
#define VIN_LENGTH    17

//参数定义
//桩编号
#define STA_PARA_STANO    0
//交易流水号
#define STA_PARA_BFNO    1

typedef union
{
    struct{
    U32 ID1;
    U32 ID2;
    };
    U8 ID[PHY_CARDID_LENGTH];
}PHYCARDID_UN;


extern U8 STAType;//0.直流桩，1.交流桩
extern U8 STANo[STANO_LENGTH];//桩编号
extern U8 GunNum;
extern U8 GunReturn;//未知，0x00 否 0x01 是 0x02 未知
extern U8 GunPlugin;//0x00 否 0x01 是
extern U8 GunTemp;//枪线温度
extern U8 GunCode[GUNCODE_LENGTH];
extern PHYCARDID_UN PhyCardID;

//桩参数初始化
int StaInit(void);

//返回桩编码地址
U8 *StaNoGet(void);

//设置桩编码
int StaNoSet(U8 * data, U8 len);

int GunIsReturn(void);
int GunIsPlugin(void);
int CarIsReady(void);
int CarIsFull(void);
int GunTempGet(void);
//返回值枪码长度
int GunCodeGet(U8 *data, U8 dlen);
GUN_STA_E GunStateGet(void);
void MakeCardSwipAction(void);
GUN_STA_E GunStateGet(void);
U8 IsCardSwipAction(void);

void StaLOOP(void);

#endif
